The present invention relates generally to the transfer of information and more particularly to the dynamic transfer of information among multiple moving and/or fixed targets.
There are currently many technologies, devices, and services that contribute to the productivity of mobile people primarily by enabling them to access information and communicate with others. Up until now, there has not existed a system that coordinates information pertaining to time, distance, and motion in order to maximize an individual""s schedule or activities. There is an opportunity heretofore unaddressed by current technologies to use information about a person who may be in transit to intelligently manage the transfer of information among multiple other entities. Transferred information is then used to coordinate and initiate events of importance while the person is in transit. Events can be initiated at a place from which the person has departed, at a destination to which the person is approaching, or even in other people""s mobile environments.
A Dynamic Information Transfer (DIT) system according to the present invention enables the use of information associated with a mobile target or information associated with a number of mobile targets for purposes of actively and autonomously transferring information for the benefit of the person associated with the target. A DIT system utilizes intelligent software agents (ISAs) to manage and coordinate network based operations, such as collecting data, transferring data, initiating events or programs, and negotiating with other ISAs in the network. One particular intelligent agent, sometimes referred to as a personal assistant device (PAD), interacts with a user through a user interface and is programmed directly or by autonomous acquisition to perform a variety of tasks on behalf of a user. A user is a person that is associated with a target. A user can move from one target to another such as when the user departs his office and enters his automobile.
A DIT system continually monitors a mobile target""s location via a Location Determination System, such as, for instance, the satellite navigation Global Positioning System (GPS) or cellular tower triangulation, and calculates the mobile target""s direction and speed based on changes of location over time. A DIT system also monitors the context and nature of the mobile target""s activities, such as the networks, applications, services, files, and data types that are in use at each moment. Information about the mobile target""s location, direction, speed, and current tasks is transmitted to other mobile targets and/or fixed targets either periodically or at the request of systems associated with the other targets. Thus, a mobile target""s location, direction, and speed might be transmitted periodically, and information about its current tasks might be transmitted only when requested by systems associated with the destination target.
In order to determine what types of information need to be transmitted and at what times, targets in a DIT system continually calculate one or more virtual zones. Virtual zones are artificial bounded areas encompassing each target. Virtual zones function as triggering mechanisms when their boundaries are crossed. Crossing into or departing a virtual zone can trigger requests for information, transfers of information, or the initiation of events or programs in other targets. The geometry or dimensions of each virtual zone are based on, among other things, the time required to complete or initiate events or programs at a target in order to synchronize the event or program with the user""s arrival, the position, direction, and speed of a target, and the nature of the tasks or activities in which a user associated with a target is engaged. For instance, tasks, events, or programs that require more time to complete are associated with larger virtual zones. Thus, when a larger virtual zone is entered into more time is allotted to perform specified functions associated with entry into that virtual zone.
When a mobile target enters a virtual zone of a second target (either mobile or fixed), the second target will perform the data transfer or program initiation operations that are associated with entry into that virtual zone. The second target may, for instance, initiate an event at its location, transfer information to the first target, or request further information from the first target. When a target system is queried for information, it may, in turn, initiate a swarming operation in a network, where one or more ISAs are dispatched to find, retrieve, and return with requested information.
As a user switches from one target to another such as when leaving work and entering an automobile or arriving home and moving from the automobile into the house, there may be activities in which the user is engaged and must be terminated, but which the user wishes to resume. In these cases, a DIT system would perform a warm transfer of information such that the context and nature of the user""s activities will be transferred to the second target and reestablished there. For example, an user may be listening to his PAD as it reads e-mail messages, and upon arriving home, the home system has already started the computer, made any necessary network connections, launched the user""s e-mail application, and opened the particular e-mail message the user was reading/listening to when the process was terminated in the first (mobile) target.
According to a first embodiment of the invention there is a system for dynamically transferring information between at least two targets, one of which is mobile. A processing device is associated with each target and communicates with a location determination system. In addition, the processing device is capable of performing data transfers with all other targets. Each processing device determines virtual zones that encompass its respective target. Moreover, each processing device contains data pertaining to events to be initiated upon entry into or departure from a virtual zone. Events are triggered when one target enters a virtual zone of another target as determined by the location determination system.
According to a second embodiment of the invention there is a method of dynamically transferring information between a mobile target and a fixed target. A location determination system determines the position of the mobile target in relation to the fixed target. A plurality of virtual zones encompassing the fixed target are determined based on specified events that are to occur at the fixed target. The mobile target""s current position is communicated to the fixed target on a periodic basis and data transfers are automatically triggered when the mobile target crosses into a virtual zone of the fixed target. The data transfers initiate the events that are to occur.
According to a third embodiment of the invention there is a computer program product for dynamically transferring information between a mobile target and a fixed target. The computer program product has a medium with a computer program embodied thereon. Computer program code determines the position of the mobile target in relation to the fixed target via communication with a location determination system. Computer program code further determines a plurality of virtual zones encompassing the fixed target. The mobile target""s current position is communicated to the fixed target on a periodic basis and computer program code automatically triggers a data transfer when the mobile target crosses into a virtual zone of the fixed target.
According to a fourth embodiment of the invention there is a method of dynamically transferring information among a plurality of mobile targets. The positions of each mobile target are determined using a location determination system. A plurality of virtual zones encompassing each mobile target are also determined. The current position of each mobile target is communicated to the other mobile targets and events are automatically triggered when one mobile target crosses into a virtual zone of another mobile target.
According to a fifth embodiment of the invention there is a method for performing a warm transfer of data between first and second targets. Data, and the context of its use, that is currently being used within the first target is saved and communicated to the second target. The second target lamches applications necessary to load the saved data such that its use may be resumed in the same context in the second target and at the same point it was last used in the first target.
Other aspects and features of the present invention will become apparent to those ordinarily skilled in the art upon review of the following description of specific embodiments of the invention in conjunction with the accompanying figures.